Add an active property. (#322673, Jorn Baayen)
authorMatthias Clasen <mclasen@redhat.com>
Wed, 30 Nov 2005 04:25:34 +0000 (04:25 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Wed, 30 Nov 2005 04:25:34 +0000 (04:25 +0000)
2005-11-29  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtktoggleaction.c (gtk_toggle_action_class_init): Add
an active property.  (#322673, Jorn Baayen)

ChangeLog
ChangeLog.pre-2-10
gtk/gtktoggleaction.c

index 9c5196b6d4dc623d44a4e56f842b770362253474..31aef3423eaedeb045af6bdd1bf230a628d22e41 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2005-11-29  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtktoggleaction.c (gtk_toggle_action_class_init): Add 
+       an active property.  (#322673, Jorn Baayen)
+
        Properly handle model changes in GtkTreeSelection: (#322569,
        Milosz Derezynski)
        
index 9c5196b6d4dc623d44a4e56f842b770362253474..31aef3423eaedeb045af6bdd1bf230a628d22e41 100644 (file)
@@ -1,5 +1,8 @@
 2005-11-29  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtktoggleaction.c (gtk_toggle_action_class_init): Add 
+       an active property.  (#322673, Jorn Baayen)
+
        Properly handle model changes in GtkTreeSelection: (#322569,
        Milosz Derezynski)
        
index 332b1cbd400e327e9b1b8520683d4cf6008869aa..8d032c54695eef3422b17cddf47c945feea8c2cc 100644 (file)
@@ -47,7 +47,8 @@ enum
 
 enum {
   PROP_0,
-  PROP_DRAW_AS_RADIO
+  PROP_DRAW_AS_RADIO,
+  PROP_ACTIVE
 };
 
 static void gtk_toggle_action_init       (GtkToggleAction *action);
@@ -133,6 +134,21 @@ gtk_toggle_action_class_init (GtkToggleActionClass *klass)
                                                          FALSE,
                                                          GTK_PARAM_READWRITE));
 
+  /**
+   * GtkToggleAction:active:
+   *
+   * If the toggle action should be active in or not.
+   *
+   * Since: 2.10
+   */
+  g_object_class_install_property (gobject_class,
+                                   PROP_ACTIVE,
+                                   g_param_spec_boolean ("active",
+                                                         P_("Active"),
+                                                         P_("If the toggle action should be active in or not"),
+                                                         FALSE,
+                                                         GTK_PARAM_READWRITE));
+
   action_signals[TOGGLED] =
     g_signal_new (I_("toggled"),
                   G_OBJECT_CLASS_TYPE (klass),
@@ -199,6 +215,9 @@ get_property (GObject     *object,
     case PROP_DRAW_AS_RADIO:
       g_value_set_boolean (value, gtk_toggle_action_get_draw_as_radio (action));
       break;
+    case PROP_ACTIVE:
+      g_value_set_boolean (value, gtk_toggle_action_get_active (action));
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -218,6 +237,9 @@ set_property (GObject      *object,
     case PROP_DRAW_AS_RADIO:
       gtk_toggle_action_set_draw_as_radio (action, g_value_get_boolean (value));
       break;
+    case PROP_ACTIVE:
+      gtk_toggle_action_set_active (action, g_value_get_boolean (value));
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -235,6 +257,8 @@ gtk_toggle_action_activate (GtkAction *action)
 
   toggle_action->private_data->active = !toggle_action->private_data->active;
 
+  g_object_notify (action, "active");
+
   gtk_toggle_action_toggled (toggle_action);
 }